package org.gr.ias.common.entity;

import java.io.Serializable;
import java.util.Date;

public class Complain implements Serializable {
    /** id*/
    private String id;

    /** 投诉编号*/
    private String code;

    /** 投诉理由*/
    private String reason;

    /** 投诉凭证*/
    private String cert;

    /** 项目id*/
    private String projectId;

    /** 投诉人*/
    private String complaints;

    /** 被投诉人*/
    private String bycomplaints;

    /** 投诉时间*/
    private Date complainTime;

    /** 状态*/
    private String status;

    /** 投诉审核状态*/
    private String audType;

    /** */
    private String audUser;

    /** 审核意见*/
    private String audOption;

    /** 创建时间*/
    private Date createTime;

    /** 修改时间*/
    private Date modifyTime;

    /** 资料状态(1:正常,2:禁用,3.逻辑删除)*/
    private Integer flag;

    private static final long serialVersionUID = 1L;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id == null ? null : id.trim();
    }

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code == null ? null : code.trim();
    }

    public String getReason() {
        return reason;
    }

    public void setReason(String reason) {
        this.reason = reason == null ? null : reason.trim();
    }

    public String getCert() {
        return cert;
    }

    public void setCert(String cert) {
        this.cert = cert == null ? null : cert.trim();
    }

    public String getProjectId() {
        return projectId;
    }

    public void setProjectId(String projectId) {
        this.projectId = projectId == null ? null : projectId.trim();
    }

    public String getComplaints() {
        return complaints;
    }

    public void setComplaints(String complaints) {
        this.complaints = complaints == null ? null : complaints.trim();
    }

    public String getBycomplaints() {
        return bycomplaints;
    }

    public void setBycomplaints(String bycomplaints) {
        this.bycomplaints = bycomplaints == null ? null : bycomplaints.trim();
    }

    public Date getComplainTime() {
        return complainTime;
    }

    public void setComplainTime(Date complainTime) {
        this.complainTime = complainTime;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status == null ? null : status.trim();
    }

    public String getAudType() {
        return audType;
    }

    public void setAudType(String audType) {
        this.audType = audType == null ? null : audType.trim();
    }

    public String getAudUser() {
        return audUser;
    }

    public void setAudUser(String audUser) {
        this.audUser = audUser == null ? null : audUser.trim();
    }

    public String getAudOption() {
        return audOption;
    }

    public void setAudOption(String audOption) {
        this.audOption = audOption == null ? null : audOption.trim();
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Date getModifyTime() {
        return modifyTime;
    }

    public void setModifyTime(Date modifyTime) {
        this.modifyTime = modifyTime;
    }

    public Integer getFlag() {
        return flag;
    }

    public void setFlag(Integer flag) {
        this.flag = flag;
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        Complain other = (Complain) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getCode() == null ? other.getCode() == null : this.getCode().equals(other.getCode()))
            && (this.getReason() == null ? other.getReason() == null : this.getReason().equals(other.getReason()))
            && (this.getCert() == null ? other.getCert() == null : this.getCert().equals(other.getCert()))
            && (this.getProjectId() == null ? other.getProjectId() == null : this.getProjectId().equals(other.getProjectId()))
            && (this.getComplaints() == null ? other.getComplaints() == null : this.getComplaints().equals(other.getComplaints()))
            && (this.getBycomplaints() == null ? other.getBycomplaints() == null : this.getBycomplaints().equals(other.getBycomplaints()))
            && (this.getComplainTime() == null ? other.getComplainTime() == null : this.getComplainTime().equals(other.getComplainTime()))
            && (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
            && (this.getAudType() == null ? other.getAudType() == null : this.getAudType().equals(other.getAudType()))
            && (this.getAudUser() == null ? other.getAudUser() == null : this.getAudUser().equals(other.getAudUser()))
            && (this.getAudOption() == null ? other.getAudOption() == null : this.getAudOption().equals(other.getAudOption()))
            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
            && (this.getModifyTime() == null ? other.getModifyTime() == null : this.getModifyTime().equals(other.getModifyTime()))
            && (this.getFlag() == null ? other.getFlag() == null : this.getFlag().equals(other.getFlag()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getCode() == null) ? 0 : getCode().hashCode());
        result = prime * result + ((getReason() == null) ? 0 : getReason().hashCode());
        result = prime * result + ((getCert() == null) ? 0 : getCert().hashCode());
        result = prime * result + ((getProjectId() == null) ? 0 : getProjectId().hashCode());
        result = prime * result + ((getComplaints() == null) ? 0 : getComplaints().hashCode());
        result = prime * result + ((getBycomplaints() == null) ? 0 : getBycomplaints().hashCode());
        result = prime * result + ((getComplainTime() == null) ? 0 : getComplainTime().hashCode());
        result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
        result = prime * result + ((getAudType() == null) ? 0 : getAudType().hashCode());
        result = prime * result + ((getAudUser() == null) ? 0 : getAudUser().hashCode());
        result = prime * result + ((getAudOption() == null) ? 0 : getAudOption().hashCode());
        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
        result = prime * result + ((getModifyTime() == null) ? 0 : getModifyTime().hashCode());
        result = prime * result + ((getFlag() == null) ? 0 : getFlag().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", id=").append(id);
        sb.append(", code=").append(code);
        sb.append(", reason=").append(reason);
        sb.append(", cert=").append(cert);
        sb.append(", projectId=").append(projectId);
        sb.append(", complaints=").append(complaints);
        sb.append(", bycomplaints=").append(bycomplaints);
        sb.append(", complainTime=").append(complainTime);
        sb.append(", status=").append(status);
        sb.append(", audType=").append(audType);
        sb.append(", audUser=").append(audUser);
        sb.append(", audOption=").append(audOption);
        sb.append(", createTime=").append(createTime);
        sb.append(", modifyTime=").append(modifyTime);
        sb.append(", flag=").append(flag);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}